<?php

/**
 * inicio actions.
 *
 * @package    upv
 * @subpackage inicio
 * @author     cetcos.org
 * @version    SVN: $Id: actions.class.php 23810 2009-11-12 11:07:44Z Kris.Wallsmith $
 */
class inicioActions extends sfActions
{
 /**
  * Executes index action
  *
  * @param sfRequest $request A request object
  */
  public function executeIndex(sfWebRequest $request)
  {
    $this->forward('default', 'module');
  }
  
	public function executeInicio(sfWebRequest $request)
	{
		$this->form = new InicioForm();

		if($request->isMethod("post")){
			$this->form->bind($request->getParameter("inicio"));
 
			if($this->form->isValid()){
				if(!$miembro = Miembro::inicio($this->form->getValue("correo"), $this->form->getValue("contrasena"))){
					//No hemos conseguido loguear al usuario
					//Redirigimos de nuevo al login con un mensaje de error
					$this->getUser()->setFlash("error", "datos incorrectos");
					$this->redirect("@miembro_inicio");
				}else{
					// Logueamos
					$this->getUser()->setAuthenticated(true);
					$this->getUser()->setAttribute("mid",$miembro->id);
					$this->getUser()->addCredential('Miembro');
					// Buscar los perfiles que posee
					foreach ($miembro->getPerfil() as $perfil) {
						$this->getUser()->addCredential($perfil->getNombre());
					}
 
					//Comprobamos si tiene referer, si no, le llevamos a la homepage
					//$url = $this->getUser()->getAttribute("referer",false)?:"@homepage";
					//$this->getUser()->setAttribute("referer", false);
					$this->redirect('miembros/index');
				}
			}
 
  		}
	}
	
	public function executeSalir(sfWebRequest $request){
		$this->getUser()->setAuthenticated(false);
		$this->getUser()->getAttributeHolder()->clear();
		$this->redirect("inicio/inicio");
	}
	
  
}
